home *** CD-ROM | disk | FTP | other *** search
/ US Department of Defenseā€¦ndamentals 1.0 2004 April / US Department of Defense: Firewall & Router Fundamentals 1.0 2004 April.iso / text_only / includes / g_functions.js < prev    next >
Text File  |  2004-02-26  |  15KB  |  582 lines

  1. function get_cookie_value(myMasterKey,myDefault)
  2. {
  3.     myCookie = document.cookie;
  4.     while (myCookie.indexOf("=",0) > -1)
  5.     {
  6.         i = myCookie.indexOf(";",0);
  7.         if (i == -1)
  8.             i = myCookie.length;
  9.         myPair = myCookie.substring(0,i);
  10.         j = myPair.indexOf("=",0);
  11.         myKey = myPair.substring(0,j);
  12.         if (myKey.substring(0,1) == " ")
  13.             myKey = myKey.substring(1,(myKey.length));
  14.         myValue = myPair.substring(j+1,(myPair.length));
  15.         myCookie = myCookie.substring(i+1,(myCookie.length));
  16.         if (myKey == myMasterKey)
  17.         {
  18.             return myValue;
  19.         }
  20.     }
  21.     return myDefault;
  22. }
  23.  
  24. function get_sub_cookie_value(myMasterKey,myCookie,myDefault)
  25. {
  26.     while (myCookie.indexOf("|",0) > -1)
  27.     {
  28.         i = myCookie.indexOf("&",0);
  29.         if (i == -1)
  30.             i = myCookie.length;
  31.         myPair = myCookie.substring(0,i);
  32.         j = myPair.indexOf("|",0);
  33.         myKey = myPair.substring(0,j);
  34.         if (myKey.substring(0,1) == " ")
  35.             myKey = myKey.substring(1,(myKey.length));
  36.         myValue = myPair.substring(j+1,(myPair.length));
  37.         myCookie = myCookie.substring(i+1,(myCookie.length));
  38.         if (myKey == myMasterKey)
  39.         {
  40.             return myValue;
  41.         }
  42.     }
  43.     return myDefault;
  44. }
  45.  
  46. function get_tracking_value(data,key,value_delimiter,pair_delimiter)
  47. {
  48.   var return_value = null;
  49.   var key_pos = data.indexOf(key,0);
  50.   var key_length = key.length + value_delimiter.length;
  51.   if (key_pos > -1) {
  52.     data = data.substring(key_pos+key_length,data.length);
  53.     var end_pos = data.indexOf(pair_delimiter,0);
  54.     if (end_pos == -1)
  55.       end_pos = data.length
  56.     return_value = data.substring(0,end_pos);
  57.   }
  58.   return return_value;
  59. }
  60.  
  61. //update get cookie value function, combines both get cookie value and get sub cookie value in one function.
  62. function get_pair_list_value(key,pair_list,default_value,equal_delimiter,pair_delimiter)
  63. {
  64.   var tmp_pair = "";
  65.   var tmp_value = "";
  66.   var return_value = default_value;
  67.   var i = -1;
  68.   var j = -1;
  69.     while (pair_list.indexOf(equal_delimiter,0) > -1)
  70.     {
  71.         i = pair_list.indexOf(pair_delimiter,0);
  72.         if (i == -1)
  73.             i = pair_list.length;
  74.         tmp_pair = pair_list.substring(0,i);
  75.         j = tmp_pair.indexOf(equal_delimiter,0);
  76.         tmp_key = tmp_pair.substring(0,j);
  77.         if (tmp_key.substring(0,1) == " ")
  78.             tmp_key = tmp_key.substring(1,(tmp_key.length));
  79.         tmp_value = tmp_pair.substring(j + equal_delimiter.length,(tmp_pair.length));
  80.         pair_list = pair_list.substring(i + pair_delimiter.length,(pair_list.length));
  81.         if (tmp_key == key)
  82.             return_value = tmp_value;
  83.     }   
  84.     return return_value;
  85. }
  86.     
  87. function set_cookie_value(myKey,myValue)
  88. {
  89.     document.cookie = myKey + "=" + myValue + ";path=" + COOKIE_PATH + ";";
  90. }
  91.  
  92. function get_url_value(myKey)
  93. {
  94.     var myURLPos = -1;
  95.     var myStr = null;
  96.     var myTemp = window.document.location;
  97.   if (myTemp != "")  {
  98.       var myURL = myTemp.toString();
  99.       var myOffset = myKey.length + 1;
  100.   
  101.       if (myURL.indexOf('?') > -1)  {
  102.           //get page
  103.           myQS = myURL.substring(myURL.indexOf('?') + 1,myURL.length);
  104.           myURLPos = myQS.indexOf(myKey);
  105.           if (myURLPos > -1)  {
  106.               myStr = myQS.substring(myURLPos+myOffset,myQS.length);
  107.               if (myStr.indexOf('&') > 0)
  108.                   myStr=myStr.substring(0,myStr.indexOf('&'));
  109.           }    
  110.       }
  111.   }
  112.     return myStr;
  113. }
  114.  
  115. function get_qs_value(qs_key,qs,default_value)
  116. {
  117.   qs_value = default_value;
  118.   if (qs != "")  {
  119.     var offset = qs_key.length + 1;
  120.       qs = qs.toString();
  121.          var qs_pos = qs.indexOf(qs_key);
  122.          if (qs_pos > -1)  {
  123.         qs_value = qs.substring(qs_pos+offset,qs.length);
  124.               if (qs_value.indexOf('&') > 0)
  125.                   qs_value=qs_value.substring(0,qs_value.indexOf('&'));
  126.           }    
  127.   }
  128.     return qs_value;
  129. }
  130.  
  131. function set_qs_value(qs_key,qs_value,qs)
  132. {
  133.   var return_qs = "";
  134.   if (qs != "")  {
  135.     var offset = qs_key.length + 1;
  136.       qs = qs.toString();
  137.          var qs_key_pos = qs.indexOf(qs_key);
  138.          if (qs_key_pos > -1)  {
  139.       qs_value_pos = qs_key_pos+offset;
  140.       var qs_left = qs.substring(0,qs_value_pos);
  141.       var qs_right = "";
  142.       qs_old_value = qs.substring(qs_value_pos,qs.length);
  143.       if (qs_old_value.indexOf('&') > 0)
  144.         qs_right = qs_old_value.substring(qs_old_value.indexOf('&'),qs_old_value.length);
  145.       return_qs = qs_left + qs_value + qs_right;
  146.     }    
  147.   }
  148.   else  {
  149.     return_qs = qs_key + "=" + qs_value;
  150.   }
  151.     return return_qs;
  152. }
  153.  
  154. function get_list_value(key,list,pair_delimiter,value_delimiter,default_value)
  155. {
  156.   var value = default_value;
  157.   if (list != "")  {
  158.     var offset = key.length + value_delimiter.length;
  159.       list = list.toString();
  160.          var list_pos = list.indexOf(key);
  161.          if (list_pos > -1)  {
  162.         value = list.substring(list_pos+offset,list.length);
  163.             if (value.indexOf(pair_delimiter) > -1)
  164.                 value = value.substring(0,value.indexOf(pair_delimiter));
  165.          }    
  166.   }
  167.     return value;
  168. }
  169.  
  170. function set_list_value(key,value,list,pair_delimiter,value_delimiter)
  171. {
  172.   var return_list = "";
  173.   if (list != "")  {
  174.     var offset = key.length + value_delimiter.length;
  175.       list = list.toString();
  176.          var key_pos = list.indexOf(key);
  177.          if (key_pos > -1)  {
  178.       value_pos = key_pos+offset;
  179.       var left = list.substring(0,value_pos);
  180.       var list = list.substring(value_pos,list.length);
  181.       var right = list.substring(list.indexOf(pair_delimiter),list.length);
  182.       return_list = left + value + right;
  183.     }
  184.     else  {
  185.       return_list = list + key + value_delimiter + value + pair_delimiter;
  186.     }
  187.   }
  188.   else  {
  189.     return_list = key + value_delimiter + value + pair_delimiter;
  190.   }
  191.     return return_list;
  192. }
  193.  
  194. function get_item_count(item_list,delimiter)
  195. {
  196.   var num_items = -1;
  197.   var tmp_return = "nothing";
  198.   while (tmp_return != "")  {
  199.     tmp_return = get_item_in_list(item_list,num_items+2,delimiter);
  200.     num_items += 1;
  201.   }
  202.   return num_items;
  203. }
  204.  
  205. //1 based, not 0 based
  206. function get_item_in_list(item_list,location,delimiter)
  207. {
  208.   var item_value = "";
  209.   var tmp_pos = -1;
  210.   var tmp_loc = parseInt(location);
  211.   for (x = 1; x <= tmp_loc; x++)
  212.   {
  213.       tmp_pos = item_list.indexOf(delimiter);
  214.       if (tmp_pos > -1) {
  215.           item_value = item_list.substring(0,tmp_pos);
  216.           item_list = item_list.substring(tmp_pos+1,item_list.length);
  217.       }
  218.       else  {
  219.       item_value = item_list;
  220.       item_list = "";
  221.     }
  222.   }
  223.   return item_value;
  224. }
  225.  
  226. //1 based, not 0 based
  227. function set_item_in_list(item_list,item_value,location,delimiter)
  228. {
  229.   var tmp_pos = -1;
  230.   var master_pos = 0;
  231.   var tmp_list = item_list;
  232.   var tmp_loc = parseInt(location);
  233.   if (tmp_loc <= get_item_count(item_list,delimiter)) {
  234.     for (x = 1; x <= tmp_loc; x++)
  235.     {
  236.         tmp_pos = tmp_list.indexOf(delimiter);    
  237.         if (tmp_pos > -1) {
  238.             tmp_list = tmp_list.substring(tmp_pos+1,tmp_list.length);
  239.         if (x == tmp_loc)  {
  240.           item_list = item_list.substring(0,master_pos) + item_value + delimiter + tmp_list;
  241.         }
  242.       }
  243.       else  {
  244.         //value in last slot, so just add value on the end
  245.         item_list = item_list.substring(0,master_pos) + item_value;
  246.       }
  247.       master_pos += tmp_pos + 1;
  248.     }
  249.   }
  250.   return item_list;
  251. }
  252.   
  253. function open_popup(page_url,left,top,width,height,scroll,resize,menu)
  254. {
  255.     if ((page_url == null) || (page_url == ""))
  256.         alert("Popup URL can not be empty.");
  257.     else
  258.     {
  259.         if ((left == null) || (left == ""))
  260.             left = "0";
  261.         if ((top == null) || (top == ""))
  262.             top = "0";
  263.         if ((width == null) || (width == ""))
  264.             width = "400";
  265.         if ((height == null) || (height == ""))
  266.             height = "300";
  267.         if ((scroll == null) || (scroll == ""))
  268.             scroll = "no";
  269.         if ((resize == null) || (resize == ""))
  270.             resize = "yes";
  271.         if ((menu == null) || (menu == ""))
  272.             menu = "no";
  273.     }
  274.         
  275.     POPUP_WIN=open(page_url,"PopUpWin","left=" + left + ",top=" + top + ",scrollbars=" + scroll + ",resizable=" + resize + ",width=" + width + ",height=" + height + ",toolbar=no,directories=no,menubar=" + menu + ",status=no,");
  276.   POPUP_WIN.focus();
  277. }
  278.  
  279. function parse_string(myString,myDelimiter,myItemNum)
  280. {
  281.     var myPos = -1;
  282.     var myItem = "";
  283.   if ((get_item_count(myString,myDelimiter)+1) >= myItemNum)  {
  284.       for (i = 1; i <= myItemNum; i++)  {
  285.           myItem = myString;
  286.           myPos = myString.indexOf(myDelimiter);
  287.           if (myPos > -1) {
  288.               myItem = myString.substring(0,myPos);
  289.               myString = myString.substring(myPos+1,myString.length);
  290.           }
  291.       }    
  292.   }
  293.     return myItem;
  294. }
  295.  
  296. function convert_num_to_str(myNum,myPlaces)
  297. {
  298.     var myNumStr = myNum.toString();
  299.     if (myPlaces == null)
  300.         myPlaces = 3;
  301.     var myZeros = ""
  302.     
  303.     for (y = 1; y < myPlaces; y++)  {
  304.         for (q = 1; q <= (myPlaces-y); q++) {
  305.             myZeros += "0";
  306.         }
  307.         if (myNumStr.length == y)
  308.             myNumStr = myZeros + myNumStr;
  309.         myZeros = "";
  310.     }
  311.     
  312.     return myNumStr;
  313. }
  314.  
  315. function convert_boolean_to_num(myBool)
  316. {
  317.     if (myBool)
  318.         return 1;
  319.     else
  320.         return 0;
  321. }
  322.  
  323. function convert_num_to_char(tmp_num)
  324. {
  325.   var tmp_str = "";
  326.   for (i=0;i<tmp_num.length;i++)  {
  327.     tmp_str += String.fromCharCode(tmp_num.charCodeAt(i)+20);
  328.   }
  329.   return tmp_str;
  330. }
  331.  
  332. function generate_key()
  333. {
  334.   var i 
  335.   var pszK = "";
  336.   for (i = 0; i <= 80; i++) {
  337.         pszK = pszK + String.fromCharCode(48 + i);
  338.         pszK = pszK + String.fromCharCode(122 - i);
  339.         i = i + 5;
  340.     }
  341.   return pszK
  342. }
  343.  
  344. function encrypt(sStrIn,sKey,cHi,cLow)
  345. {    
  346.     var iLen 
  347.       var i
  348.     var iChar 
  349.     var iLastChar 
  350.     var iLocation 
  351.     var sEncryptedStr = "";
  352.       var cDelta = cHi - cLow + 1;
  353.     
  354.     iLen = sStrIn.length;
  355.     //sKey = GenerateKey();
  356.     //sKey = myUsername + "KARTAUSER" + myProgID;
  357.     iLastChar = sKey.charCodeAt(0);
  358.     iLocation = 0;
  359.     
  360.     for (i = 0; i < iLen; i++)
  361.     {
  362.         iChar = sStrIn.charCodeAt(i);
  363.         iChar = iLastChar + iChar + sKey.charCodeAt((i % 40) + 1);
  364.         while (iChar > cHi)
  365.         {
  366.             iChar = iChar - cDelta;
  367.         }
  368.  
  369.         
  370.         iLastChar = sStrIn.charCodeAt(iLocation);
  371.         iLocation = iLocation + 1;
  372.         sEncryptedStr = sEncryptedStr + String.fromCharCode(iChar);
  373.     }
  374.  
  375.     return convertStrToDecStr(sEncryptedStr);
  376. }
  377.  
  378.  
  379. function decrypt(sInputStr,sKey,cHi,cLow)
  380. {
  381.     var sEncryptedStr
  382.     var iLen 
  383.       var i 
  384.     var iChar
  385.     var iLastChar
  386.     var sStrIn 
  387.     var sStrOut
  388.     var iLocation 
  389.     var sStr = "";
  390.     var cDelta = cHi - cLow + 1;
  391.       sEncryptedStr = convertDecStrToStr(sInputStr);
  392.     //sKey = GenerateKey();
  393.     //sKey = myUsername + "KARTAUSER" + myProgID;
  394.     iLen = sEncryptedStr.length;
  395.     sStrIn = sEncryptedStr;
  396.     iLastChar = sKey.charCodeAt(0);
  397.     iLocation = 0;
  398.     
  399.     for (i = 0; i < iLen; i++)
  400.     {
  401.         iChar = sStrIn.charCodeAt(i);
  402.         iChar = iChar - iLastChar - sKey.charCodeAt((i % 40) + 1);
  403.         while (iChar < cLow)
  404.         {
  405.             iChar = iChar + cDelta;
  406.         }
  407.         iLastChar = iChar;
  408.         iLocation = iLocation + 1;
  409.         sStr = sStr + String.fromCharCode(iChar);
  410.        }
  411.     return sStr;
  412. }
  413.  
  414. function get_obj_style(obj_id)
  415. {
  416.   if (W3CDOM) {
  417.     return eval("document.getElementById('" + obj_id + "').style");
  418.     }
  419.     else  {
  420.         if (IE) {
  421.       return eval(obj_id + ".style");
  422.         }
  423.         else  {
  424.       return eval("document." + obj_id);
  425.         }
  426.  }
  427. }
  428.  
  429. function mouse_ov(obj_name)
  430. {
  431.     var img_obj = eval("document." + obj_name);
  432.     ORIG_IMG.name = obj_name;
  433.     ORIG_IMG.src = img_obj.src;
  434.   var ov_obj = eval(obj_name + "_OV");
  435.   
  436.     if (LOAD_DONE) {
  437.         if (((obj_name == "NEXT") && (DISABLE_NEXT)) || ((obj_name == "PREVIOUS") && (DISABLE_PREV))) {
  438.             //nothing
  439.         }
  440.         else  {
  441.       if (check_preq(obj_name))
  442.         img_obj.src = ov_obj.src;
  443.     }
  444.     }
  445. }
  446.  
  447. function mouse(obj_name)
  448. {
  449.     if (LOAD_DONE) {
  450.         img_obj = eval("document." + obj_name);
  451.         img_obj.src = ORIG_IMG.src;
  452.     }
  453. }
  454.  
  455. function open_audio_win(page_num)
  456. {
  457.     if (SHOW_AUDIO) {
  458.     audio_file = "audio/aud_page" + convert_num_to_str(page_num) + ".htm";
  459.     //if (AUDIO_WIN == null)
  460.           AUDIO_WIN = window.open(audio_file,"AUDIOWIN","toolbar=no,menubar=no,location=no,height=" + AUDIO_WIN_HEIGHT + ",width=" + AUDIO_WIN_WIDTH + ",resizable=" + AUDIO_WIN_RESIZE + ",scrollbars=" + AUDIO_WIN_SCROLL + ",top=" + AUDIO_WIN_TOP + ",left=" + AUDIO_WIN_LEFT);
  461.     //else
  462.      // AUDIO_WIN.document.location.href = audio_file;
  463.         AUDIO_WIN.focus();
  464.     }
  465. }
  466.  
  467. function get_qs()
  468. {
  469.   return "showaudio=" + convert_boolean_to_num(SHOW_AUDIO);
  470. }
  471.  
  472. function check_preq(obj_name)
  473. {
  474.   if (MENU_PREQ)  {
  475.     var img_obj = eval("document." + obj_name);
  476.     if (img_obj.src.indexOf("_de.") > -1)
  477.       return false;
  478.   }
  479.   return true;
  480. }
  481.  
  482. function convertStrToDecStr(myStr)
  483. {
  484.   var myDecStr = "";
  485.   for (y = 0; y < myStr.length; y++)
  486.     {
  487.     myDecStr = myDecStr + myStr.charCodeAt(y) + "/";
  488.     }
  489.   return myDecStr;
  490. }
  491.  
  492. function convertDecStrToStr(myDecStr)
  493. {
  494.   var myStr = "";
  495.   while (myDecStr.indexOf("/",0) > -1)
  496.   {
  497.     myStr = myStr + String.fromCharCode(myDecStr.substring(0,myDecStr.indexOf("/",0)));
  498.     myDecStr = myDecStr.substr(myDecStr.indexOf("/")+1);
  499.   }
  500.   return myStr;
  501. }
  502.  
  503. function convert_to_hex(str)
  504. {
  505.   var return_str = "";
  506.   str = str + "";
  507.   for (y = 0; y < str.length; y++)
  508.     {
  509.     return_str += dec2hex(str.charCodeAt(y));
  510.     }
  511.   return return_str;
  512. }
  513.  
  514. function convert_from_hex(str)
  515. {
  516.   var return_str = ""
  517.   while (str.length > 0)
  518.   {
  519.     return_str += String.fromCharCode(hex2dec(str.substr(0,2)));
  520.     if (str.length == 2)
  521.       str = "";
  522.     else
  523.       str = str.substring(2,str.length);
  524.   }
  525.   return return_str;
  526. }
  527. function hex2dec(strVal){
  528.  
  529. // where strVal is a string
  530. // parseInt('ff',16) == 255
  531. return parseInt(strVal,16);
  532.  
  533. };
  534.  
  535. function dec2hex(n){
  536. var hex = "0123456789ABCDEF";
  537. var mask = 0xf;
  538. var retstr = "";
  539.  
  540.     while(n != 0)
  541.     {
  542.         retstr = hex.charAt(n&mask) + retstr;
  543.         n>>>=4;
  544.     }
  545.  
  546.  return retstr.length == 0 ? "0" : retstr;
  547. }
  548.  
  549. function item_in_array(tmp_item,tmp_array)
  550. {
  551.   for (i=0;i<tmp_array.length;i++)  {
  552.     if (tmp_item == tmp_array[i])
  553.       return true;
  554.   }
  555.   return false;
  556. }
  557.  
  558. function get_auto_page_list(num_pages)
  559. {
  560.   var tmp_return = "";
  561.   for (i=1;i<=parseInt(num_pages);i++)  {
  562.     tmp_return += "page" + convert_num_to_str(i,3) + ",";
  563.   }
  564.   tmp_return = tmp_return.substr(0,tmp_return.length-1);
  565.   return tmp_return;
  566. }
  567.  
  568. function get_browse()
  569. {
  570.   var tmp_boolean = false
  571.   if (get_cookie_value("BROWSE","false") == "true")
  572.     tmp_boolean = true;
  573.   return tmp_boolean;
  574. }
  575.  
  576. function set_browse(value)
  577. {
  578.   set_cookie_value("BROWSE",value);
  579. }
  580.  
  581.  
  582.